from itertools import count

s = 'Hello,Python world!'

#字符串长度计算
length = len(s)

#计算字符串中"o"字符的个数
count = s.count('o')

#将字符串转换为大写
s_up = s.upper()

#将字符串转换为小写
s_loew = s.lower()

#查找"Python"在字符串中的位置
index_p = s.index('Python')

#替换字符串中的"world"为"universe"
s2=s.replace('world','universe')
# print(s2)

#检查字符串是否以"Hello"开始
start = s.startswith("Hello")

#检查字符串是否以"!"结尾
end = s.endswith('!')

#以","为分隔符，拆分字符串
s_str = s.split(",")

#去除字符串首尾的"!"
rem_str_tail = s.removesuffix("!")
rem_str_head = rem_str_tail.removeprefix("!")

#字符串反转
rev_str = s[::-1]
# rev_str = ''.join(reversed(s))
# print(rev_str)

#字符串切片，获取"Python"
spl_str = s[6:12]
# print(spl_str)

#将字符串s中的"Hello,"删除
# rem_str = s.removeprefix("Hello,")
# print(rem_str)

#
pin_str1 = s[0:6]
pin_str2 = s[-6:]
pin_str3 = pin_str1 + pin_str2
# print(pin_str3)

#拼接两个字符串 "Hello," 和 "World!"
# num = 2021
# print(f"{num}"+s)
# print(f'{num}{s}')
# print(str(num)+s)

#找出'a'第一次出现的位置
w_index = s.index('w')
# print(w_index)

#找出'e'最后一次出现的位置
e_endindex = s.rindex('l')
# print(e_endindex)

#计算字符串中空格的数量
space_count = s.count(" ")
# print(space_count)

#使用循环遍历字符串中的每个字符
# for i in range(len(s)):
#     print(s[i], end = "")

#将字符串转为"列表"形式，每个字符为一个列表元素
sl=list(s)
# print(type(sl),sl)

#字符串排序（提示：先转换为列表）
list_s = list(s)
sort_list = sorted(list_s)
# print(sort_list)

#判断字符串是否为数字
def is_number(s):
    try:
        if int(s) or float(s):
            print("是数字")
    except:
        print("不是数字")
def is_number1(s):
    flag =True
    for i in range(len(s)):
        if ord(s[i]) not in range(48,58):
            print("不是数字")
            flag = False
            break
    if flag:
        print("是数字")
# is_number1("122")

#将列表 `['Hello,', 'Python', 'World!']` 使用空格连接为一个字符串
list = ['Hello,', 'Python', 'World!']
str2 = " ".join(list)
# print(str2)

#使用%操作符格式化字符串，将数字100插入到"Number: "后面
num = 100
str1 = "Number:"
# print(str1+"%d" % num ) #多个内容插入，%后面要括起来

#检查字符串是否全部为小写字母
aa = s.islower()
# print(aa)

#检查字符串是否全部为大写字母
bb = s.isupper()
# print(bb)

#将数字列表 `[1, 2, 3]` 转换成字符串，元素之间用`-`连接
def con_str(list2:list,fuhao:str):
    list3 =list2
    str4 =''
    for i in range(len(list3)):
        if i == 0:
            str4 = str(list3[i])
        else:
            str4 = str4+fuhao+str(list3[i])
    return str4
# print(con_str([1,2],'-'))

#找出字符串中所有的"o"的位置
def serch_str(str1:str,str2:str):
    list =[]
    for i in range(len(str1)):
        if str1[i] ==str2:
            list.append(i)
    return list
# print(serch_str(s,'o'))

#替换字符串中的第一个"o"为"O"
def change_str(str1:str,str2:str):
    ind = s.index('o')
    str2 =''
    for i in range(len(str1)):
        if i== ind:
           str2=str2+str1[i].upper()
        else:
            str2 = str2+str1[i]
    print(str2)
# change_str(s,'o')

#字符串插入操作，向字符串指定位置插入子字符串"amazing "
def insert_str(str1:str,str2:str,index:int):
    str3 = str1[:index]+str2+str1[index:]
    return str3
print(insert_str(s,'amazing',2))